//package com.jd.platform.sample3.controller;
//
//import com.jd.platform.sample3.entity.pojo.Produce;
//import com.jd.platform.sample3.service.ProduceService;
//import lombok.RequiredArgsConstructor;
//import org.springframework.web.bind.annotation.*;
//
//import com.jd.platform.sample3.entity.Result;
//
//@RestController
//@RequestMapping("produce")
//@RequiredArgsConstructor
//public class ProduceController {
//    private final ProduceService produceService;
//
//    /**
//     * 根据ID从Redis查询商品（支持指定返回属性）
//     *
//     * @param id         商品ID
//     * @param attributes 可选参数，指定需要返回的属性（如name,price）
//     * @return 商品数据（默认返回所有属性，指定时只返回对应属性）
//     * <p>
//     * 请求地址：http://localhost:8080/produce/0?attributes=name
//     * （?attributes=name&attributes=price只取第一个，代码没有完善）
//     */
//    @GetMapping("/{id}")
//    public Result<?> getByIdRedis(
//            @PathVariable int id,
//            @RequestParam(required = false) String... attributes) { // 在url的?后面
//        try {
//            Object result = produceService.getById_Redis(id, attributes);
//            if (result == null) {
//                return Result.fail("商品不存在");
//            }
//            return Result.success(result);
//        } catch (Exception e) {
//            return Result.fail("查询失败：" + e.getMessage());
//        }
//    }
//
//    /**
//     * 新增或更新商品（同步到Redis）
//     *
//     * @param produce 商品对象
//     * @return 操作结果
//     * <p>
//     * 请求地址：http://localhost:8080/produce/saveOrUpdate
//     * 请求体（JSON 格式）：（其中"id"无则新增，有则更新）
//     * {
//     * "id": 1,
//     * "name": "草莓",
//     * "price": "39.9"
//     * }
//     */
//    @PostMapping("/saveOrUpdate")
//    public Result<?> insertOrUpdateRedis(@RequestBody Produce produce) {
//        try {
//            produceService.InsertOrUpdate_Redis(produce);
//            return Result.success("操作成功");
//        } catch (Exception e) {
//            return Result.fail("操作失败：" + e.getMessage());
//        }
//    }
//
//    /**
//     * 根据ID删除商品（同步从Redis删除）
//     *
//     * @param produce 包含ID的商品对象
//     * @return 操作结果
//     * <p>
//     * 请求地址：http://localhost:8080/api/produce/delete
//     * 请求体（JSON 格式）：
//     * json
//     * {
//     * "id": 1
//     * }
//     */
//    @DeleteMapping("/delete")
//    public Result<?> deleteByIdRedis(@RequestBody Produce produce) {
//        try {
//            produceService.deleteById_Redis(produce);
//            return Result.success("删除成功");
//        } catch (Exception e) {
//            return Result.fail("删除失败：" + e.getMessage());
//        }
//    }
//}
